草庐IT

Java RegEx Matcher.groupCount 返回 0

全部标签

C# null 合并运算符返回 null

最近我的同事向我展示了一段无法正常工作的代码:publicclassSomeClass{privateIList_categories;publicvoidSetCategories(){_categories=GetCategories()??newList();DoSomethingElse();}publicIListGetCategories(){returnRetrieveCategories().Select(Something).ToList();}}(我知道运算符是多余的,因为linqToList将始终返回一个列表,但这就是代码的设置方式)。问题是_categories

c# - 为什么 Enumerable.Empty() 返回一个空数组?

我希望Enumerable.Empty()的实现是这样的:publicstaticIEnumerableEmpty(){yieldbreak;}但是实现是这样的:publicstaticIEnumerableEmpty(){returnEmptyEnumerable.Instance;}internalclassEmptyEnumerable{privatestaticvolatileTElement[]instance;publicstaticIEnumerableInstance{get{if(EmptyEnumerable.instance==null)EmptyEnumerab

c# - WPF - Graphics.CopyFromScreen 返回黑色图像

以下方法取自WinForms应用程序。它只是捕获屏幕,但我需要修改它才能在WPF应用程序中工作。当我使用它时,它返回一个黑色图像。尺寸正确。我没有任何打开的DirectX或视频,即使在我的桌面上也无法运行。publicstaticBitmapCaptureScreen(){//SetupabitmapofthecorrectsizeBitmapCapturedImage=newBitmap((int)SystemParameters.VirtualScreenWidth,(int)SystemParameters.VirtualScreenHeight,System.Drawing.I

c# - Process.Start() 什么时候可以返回 null?

我有一些代码通过使用Process.Start(ProcessStartInfo)来启动一个进程.我从文档中看到,如果重用现有流程,此方法可以返回null。[Returnsa]newProcesscomponentthatisassociatedwiththeprocessresource,ornullifnoprocessresourceisstarted(forexample,ifanexistingprocessisreused).重用现有流程意味着什么,在什么情况下会发生这种情况? 最佳答案 如果您调用pass一个文件(不是

c# - 为什么 EF 导航属性返回 null?

我有两个模型1)publicclassIndicator{publiclongID{get;set;}publicstringName{get;set;}publicintMaxPoint{get;set;}publicstringComment{get;set;}publicDateTimeDateChanged{get;set;}publicDateTimeDateCreated{get;set;}publicvirtualIListCalculationTypes{get;set;}publicvirtualIListTestEntitys{get;set;}publicvirt

c# - ConfigurationSection ConfigurationManager.GetSection() 总是返回 null

我正在尝试学习如何使用ConfigurationSection类。我曾经使用IConfigurationSectionHandler但发布它已被折旧。所以作为一个好child,我正在尝试“正确”的方式。我的问题是它总是返回null。我有一个控制台应用程序和一个DLL。classProgram{staticvoidMain(string[]args){StandardConfigSectionHandlersection=StandardConfigSectionHandler.GetConfiguration();stringvalue=section.Value;}}应用配置:DLL

c# - 如何将数据从托管程序集流式传输到 native 库并再次返回?

如何将数据(文本)从托管程序集流式传输到native库,然后将数据(文本)流式传输回托管程序集?具体来说,我想在.NET端公开某种类型的System.IO.Stream,以及(最重要的)FILE*在native端。本地方法的签名应该是:FILE*foo(FILE*bar);围绕原生p/invoke调用的包装器的签名应该是:CustomStreamfoo(CustomStreambar);我不想在native端使用回调方法(一种用于获取更多数据,一种用于设置更多数据)。我想在native端使用FILE*-以及对其进行操作的所有相关方法,例如fprintf。我不想要任何磁盘I/O。这需要在

c# - 使用SQL返回JSON字符串

这是一个“最佳实践”问题。我们正在就此主题进行内部讨论,并希望获得更广泛受众的意见。我需要将数据存储在具有常规列和行的传统MSSQLServer表中。有时我需要将DataTable返回到我的Web应用程序,而其他时候,我需要返回JSON字符串。当前,我将表返回到中间层并将其解析为JSON字符串。这似乎在大多数情况下都能很好地工作,但偶尔会在大型数据集上花费一些时间(解析数据,而不返回表)。我正在考虑修改存储过程,以有选择地返回DataTable或JSON字符串。我只需将@isJsonbit参数添加到SP。如果用户希望使用字符串而不是表,则SP将执行以下查询:DECLARE@result

c# - 返回类型和重载解析不明确的 Lambda 转换

这个问题在这里已经有了答案:Peculiaroverloadresolutionwithwhile(true)(1个回答)关闭8年前。如果我有一个lambda,例如()=>{thrownewException();},不清楚它是否有返回类型。因此,它可以(隐式)转换为Action。和Func(或任何其他Func)。这是因为,根据C#4规范的§6.5匿名函数转换:[A]delegatetypeDiscompatiblewithananonymousfunctionFprovided:…IfDhasavoidreturntypeandthebodyofFisastatementblock,

c# - 返回 List<T> 的只读包装器的哪种方式更可取?

比如说,我们有一个带有私有(private)列表的通用类。我们至少可以通过两种方式让它返回此列表的只读包装器:publicclassTest{publicListlist=newList();publicIEnumerableValues1{get{foreach(Tiinlist)yieldreturni;}}publicIEnumerableValues2{get{returnlist.AsReadOnly();}}}Values1和Values2都反射(reflect)了底层集合中的任何变化,并防止它通过自身进行修改。哪种方式更可取?应该注意什么?或者还有其他更好的方法吗?